package com.pand.model.vehicle;

import com.pand.model.BaseObject;

import javax.persistence.*;

/**
 *
 * @ClassName: VehicleType
 * @Description: 车型信息
 * @author zouyan
 * @date 2015年12月18日 下午2:20:54
 *
 */
@Entity
@Table(name = "RES_VEHICLE_TYPE")
@SequenceGenerator(name = "SeqVehicleType", sequenceName = "SEQ_VEHICLE_TYPE", allocationSize = 1)
public class VehicleType extends BaseObject {
	/**
	 * @Fields serialVersionUID :
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	private Long id;

	/**
	 * 车型名称
	 */
	private String vehicleTypeName;

	/**
	 * 功率(马力)
	 */
	private Float power;

	/**
	 * 车辆品牌
	 */
	private Brand brand;

	/**
	 * 发动机型号
	 */
	private String engine;

	/**
	 * 长度
	 */
	private Long length;

	/**
	 * 宽度
	 */
	private Long width;

	/**
	 * 重量
	 */
	private Long weight;

	/**
	 * 轴距
	 */
	private Long wheelBase;

	/**
	 * 动力类型
	 */
	private Integer energyType;

	/**
	 *  车型图片存储地址
	 */
	private String imgUrl;

	/**
	 * 车厢数
	 */
	private Integer rooms;

	/**
	 * 座位数
	 */
	private Integer seats;

	/**
	 * 车门数
	 */
	private Integer doors;

	/**
	 * 续航里程
	 */
	private Integer mileAge;

	/**
	 * 档位
	 */
	private Integer gearShift;

	/**
	 * 是否推荐车型
	 */
	private Boolean isRecommanded;

	/**
	 * 租车押金
	 */
	private Double preAuth;

	/**
	 * 拼音简写
	 */
	private String pyjx;

	/**
	 * 车型编码
	 */
	private String vehicleTypeCode;

	/**
	 * 是否同步
	 */
    private Integer isSynchronous=0;

	/**
	 * 电池个数
	 */
    private Integer batteryNum;

	/**
	 *  电池容量
	 */
    private Integer batteryCapacity;

	/**
	 * 能源供给模式，1：换电，2：充电
	 */
	private Integer energySupplyType;

    /**
     * 车联网类型
     */
	private String vehicleNetworkType;
	/**
	 * 车辆使用教程H5地址
	 */
	private String helpURL;

    @Column(name = "BATTERYNUM")
	public Integer getBatteryNum() {
		return batteryNum;
	}

	public void setBatteryNum(Integer batteryNum) {
		this.batteryNum = batteryNum;
	}
	@Column(name = "BATTERYCAPACITY")
	public Integer getBatteryCapacity() {
		return batteryCapacity;
	}

	public void setBatteryCapacity(Integer batteryCapacity) {
		this.batteryCapacity = batteryCapacity;
	}

	@Column(name = "IS_SYNCHRONOUS")
	public Integer getIsSynchronous() {
		return isSynchronous;
	}

	public void setIsSynchronous(Integer isSynchronous) {
		this.isSynchronous = isSynchronous;
	}

	@Id
	@GeneratedValue(generator = "SeqVehicleType")
	@Column(name = "ID")
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "VEHICLE_TYPE_NAME")
	public String getVehicleTypeName() {
		return vehicleTypeName;
	}

	public void setVehicleTypeName(String vehicleTypeName) {
		this.vehicleTypeName = vehicleTypeName;
	}

	@Column(name = "POWER")
	public Float getPower() {
		return power;
	}

	public void setPower(Float power) {
		this.power = power;
	}

	@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
	@JoinColumn(name = "BRAND_ID")
	public Brand getBrand() {
		return brand;
	}

	public void setBrand(Brand brand) {
		this.brand = brand;
	}

	@Column(name = "ENGINE")
	public String getEngine() {
		return engine;
	}

	public void setEngine(String engine) {
		this.engine = engine;
	}

	@Column(name = "LENGTH")
	public Long getLength() {
		return length;
	}

	public void setLength(Long length) {
		this.length = length;
	}

	@Column(name = "WIDTH")
	public Long getWidth() {
		return width;
	}

	public void setWidth(Long width) {
		this.width = width;
	}

	@Column(name = "WEIGHT")
	public Long getWeight() {
		return weight;
	}

	public void setWeight(Long weight) {
		this.weight = weight;
	}

	@Column(name = "WHEEL_BASE")
	public Long getWheelBase() {
		return wheelBase;
	}

	public void setWheelBase(Long wheelBase) {
		this.wheelBase = wheelBase;
	}

	@Column(name = "ENERGY_TYPE")
	public Integer getEnergyType() {
		return energyType;
	}

	public void setEnergyType(Integer energyType) {
		this.energyType = energyType;
	}

	@Column(name = "IMG_URL")
	public String getImgUrl() {
		return imgUrl;
	}

	public void setImgUrl(String imgUrl) {
		this.imgUrl = imgUrl;
	}

	@Column(name = "VEHICLE_ROOMS")
	public Integer getRooms() {
		return rooms;
	}

	public void setRooms(Integer rooms) {
		this.rooms = rooms;
	}
	@Column(name = "VEHICLE_SEATS")
	public Integer getSeats() {
		return seats;
	}

	public void setSeats(Integer seats) {
		this.seats = seats;
	}
	@Column(name = "VEHICLE_DOORS")
	public Integer getDoors() {
		return doors;
	}

	public void setDoors(Integer doors) {
		this.doors = doors;
	}

	@Column(name = "MILE_AGE")
	public Integer getMileAge() {
		return mileAge;
	}

	public void setMileAge(Integer mileAge) {
		this.mileAge = mileAge;
	}
	@Column(name = "GEAR_SHIFT")
	public Integer getGearShift() {
		return gearShift;
	}

	public void setGearShift(Integer gearShift) {
		this.gearShift = gearShift;
	}

	@Column(name = "IS_RECOMMANDED")
	public Boolean getIsRecommanded() {
		return isRecommanded;
	}

	public void setIsRecommanded(Boolean isRecommanded) {
		this.isRecommanded = isRecommanded;
	}
	@Column(name = "PRE_AUTH")
	public Double getPreAuth() {
		return preAuth;
	}

	public void setPreAuth(Double preAuth) {
		this.preAuth = preAuth;
	}
	@Column(name = "VEHICLE_TYPE_PYJX")
	public String getPyjx() {
		return pyjx;
	}

	public void setPyjx(String pyjx) {
		this.pyjx = pyjx;
	}
	@Column(name = "VEHICLE_TYPE_CODE")
	public String getVehicleTypeCode() {
		return vehicleTypeCode;
	}

	public void setVehicleTypeCode(String vehicleTypeCode) {
		this.vehicleTypeCode = vehicleTypeCode;
	}

    @Column(name = "ENERGY_SUPPLY_TYPE")
	public Integer getEnergySupplyType() {
		return energySupplyType;
	}

	public void setEnergySupplyType(Integer energySupplyType) {
		this.energySupplyType = energySupplyType;
	}

    @Column(name = "VEHICLE_NETWORK_TYPE")
    public String getVehicleNetworkType() {
        return vehicleNetworkType;
    }

    public void setVehicleNetworkType(String vehicleNetworkType) {
        this.vehicleNetworkType = vehicleNetworkType;
    }

    @Column(name = "HELP_URL")
	public String getHelpURL() {
		return helpURL;
	}

	public void setHelpURL(String helpURL) {
		this.helpURL = helpURL;
	}
}
